'use strict'

class images {

  constructor () {
    //param默认就是/:id，若要改变路由，则可以设置此属性，比如设置为/:name
    // this.param = '/:name/:type'
    this.param = '/:name'
  }
  __mid(){
    return [
      { 
        name:'token-verify', 
        path:['post']
      }
    ]
  }
  //以下方法，若不需要，要去掉，避免无意义的路由。

  //获取资源具体内容
  async get (c) {
    let imgname=c.param.name;

    try{ 
        await c.helper.pipe(`${c.service.imagePath}/${imgname}`,c.reply);
    }catch(err){
        c.status(404).send('image not found');
    }
  }

  //创建资源
  async post (c) {
    let f=c.getFile('image');

    if(!f){
        return c.status(400).send('file not found')
    }

    //生成唯一文件名
    let fname=c.helper.makeName(f.filename);

    try{
        await c.moveFile(f,`${c.service.imagePath}/${fname}`);
        c.send(fname);
    }catch(err){
        c.status(500).send('failed');
    }
  }
}
module.exports = images
